// 控制器模块，负责业务逻辑
// 加载模板模块
var template = require('art-template');
// 设置模板默认根目录
template.defaults.root = './';
// 加载model模型模块
var model = require('./model');
// 模块输出
module.exports = {

    // 查询所有，页面展示
    getall(req, res) {
        // 传入参数，回调函数
        model.select((data) => {
            res.render('./index.html', { data });
        });
    },

    // 查找单条
    getone(req, res) {
        // 获取get请求参数
        var id = req.query.id;
        // 回调函数
        model.where('id=' + id).select((data) => {
            // 直接调用render方法调用页面方法
            res.render('./userinfo.html', { data });
        })
    },

    // 获取修改用户的界面信息
    edituser(req, res) {
        // 获取get请求参数
        var id = req.query.id;
        // 回调函数
        model.where('id=' + id).select((data) => {
            res.render('./edit.html', { data });
        })
    },

    // 接受处理修改用户的post请求，修改数据表
    editpost(req, res) {
        // 加载文件上传模块
        var formidable = require('formidable');
        var form = new formidable.IncomingForm();
        // 创造临时文件目录，以便跨磁盘
        form.uploadDir = './public/img';
        form.parse(req, (err, filed, file) => {
            // 引入fs，用于移动文件
            var fs = require('fs');
            // 移动上传文件
            fs.rename(file.imgs.path, './public/img/' + file.imgs.name, function (err) {
                if (err) { console.log(err); }
                filed.img = '/img/' + file.imgs.name;
                // 调用model方法，更改数据库信息
                model.where('id=' + req.query.id).update(filed, function (data) {
                    if (data >= 0) {
                        // 表示成功
                        res.send("<script>alert('修改成功');location.href='/'</script>");
                    } else {
                        // 表示失败
                        res.send("<script>alert('修改失败');location.href='/'</script>");
                    }
                })
            });
        })
    },

    // 删除用户
    del(req, res) {
        // 回调函数，调用模型方法
        model.where('id=' + req.query.id).delete((data) => {
            if (data > 0) {
                res.send("<script>alert('删除成功');location.href='/'</script>")
            } else {
                res.send("<script>alert('删除失败');location.href='/'</script>")
            }
        })
    }
}
